package com.sicocre.actions;

import java.io.Serializable;
import java.util.ArrayList;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import com.sicocre.beans.EstadoSolicitud;
import com.sicocre.business.service.IComboService;
import com.sicocre.business.service.IEstadoService;
import com.sicocre.utils.Constantes;


@Component
@Scope("request")
public class EstadosAction implements Serializable {
	
	

	/**
	 * 
	 */
	private static final long serialVersionUID = -7998870830593828132L;
	private static final Logger log = Logger.getLogger(EstadosAction.class);

	
	@Autowired
	private IEstadoService estadoService;
	@Autowired
	private IComboService comboService;
	
	
	private ArrayList<EstadoSolicitud> listEstados;	
	private EstadoSolicitud estados;
	
	
	public EstadosAction(){		
		this.estados = new EstadoSolicitud();
		
	}
	

	@PostConstruct
	public void initForm(){
		this.estados = new EstadoSolicitud();
		listEstados = comboService.consultaEstados();		
	}
	
	
	public void guardar(){
		log.info("Iniciando proceso de guardado...");
		if(estadoService.insertEstado(estados)){
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, Constantes.MSG_SUCCESS, Constantes.MSG_SUCCESS);
            FacesContext.getCurrentInstance().addMessage(null, message);
            
		}else{
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, Constantes.MSG_ERROR, Constantes.MSG_ERROR);
            FacesContext.getCurrentInstance().addMessage(null, message);
		}
	}

    public String limpiar(){		
		return "/pages/xhtml/catalogoEstadosView.xhtml?faces-redirect=true";
	}

	


	public IComboService getComboService() {
		return comboService;
	}


	public void setComboService(IComboService comboService) {
		this.comboService = comboService;
	}


	public IEstadoService getEstadoService() {
		return estadoService;
	}


	public void setEstadoService(IEstadoService estadoService) {
		this.estadoService = estadoService;
	}


	public ArrayList<EstadoSolicitud> getListEstados() {
		return listEstados;
	}


	public void setListEstados(ArrayList<EstadoSolicitud> listEstados) {
		this.listEstados = listEstados;
	}


	public EstadoSolicitud getEstados() {
		return estados;
	}


	public void setEstados(EstadoSolicitud estados) {
		this.estados = estados;
	}

	
	
	

}
